A serial link communication system comprises a transmitter, a receiver, and a communication channel. The transmitter launches a first signal unto the communication channel; the first signal is binary, i.e. it comprises a sequence of non-return-to-zero pulses, wherein a pulse of a first level carries a logical “1” data and a pulse of a second level carries a logical “0” data. After propagating through the communication channel, the first signal evolves into a second signal. The receiver receives the second signal and seeks to process the second signal so as to retrieve the data embedded in the first signal. If the communication channel is free of dispersion, the second signal will be substantially similar to the first signal. In this case, the difference between the first signal and the second signal is merely a delay and a scaling factor, both of which can be easily handled by the receiver using various techniques of timing synchronization and automatic gain control that are well known in prior art. In reality, however, the communication channel is usually dispersive, and consequently the second signal is a distorted version of the first signal (besides a possible delay and a possible scaling factor). Decision feedback equalizers are widely used for compensating the distortion caused by the communication channel. A decision feedback equalizer seeks to remove the interference to a succeeding data caused by a present data. However, it is very difficult to design a high-speed decision feedback equalizer due to the timing constraint that one has to detect the present data and remove the interference to the succeeding data within one unit interval.
What is needed is a method and apparatus for high-speed feedback equalizer.